////////////////////////////////////////////////////////////////////////////////

#ifndef _CLIENT_H_
#include "client.h"
#endif

////////////////////////////////////////////////////////////////////////////////

#ifndef _CLIENTINPUTPACKET_H_
#include "clientinputpacket.h"
#endif

#ifndef _SERVERPACKETONCLIENT_H_
#include "serverpacketonclient.h"
#endif

#ifndef _CLIENTPACKETONCLIENT_H_
#include "clientpacketonclient.h"
#endif

////////////////////////////////////////////////////////////////////////////////


Client::Client()
{
}


////////////////////////////////////////////////////////////////////////////////


Client::~Client()
{
}


////////////////////////////////////////////////////////////////////////////////


void Client::Start()
{
    m_Engine.Start(this);
    m_Network.Start(this);
    m_GUI.Start(this);
}


////////////////////////////////////////////////////////////////////////////////


void Client::Receive( const ServerPacketOnClient* _packet )
{
    _packet->VisitClientEngine(&m_Engine);
}


////////////////////////////////////////////////////////////////////////////////



void Client::Send( const ClientPacketOnClient* _packet )
{
    _packet->VisitClientNetwork(&m_Network);
}


////////////////////////////////////////////////////////////////////////////////
